$(function () {
    var layer = layui.layer;
    var form = layui.form;

    var q = {
        pagenum: 1,
        pagesize: 2,
        cate_id: '',
        state: ''
    }


    get_article_list();
    get_article_cate();



    $('tbody').on('click', '#art_delete', function () {
        //eg1  获取页面文章的个数
        var len = $('#art_delete').length;

        var id = $(this).attr('data-id');
        layer.confirm('确认删除吗？', { icon: 3, title: '提示' }, function (index) {
            //do something
            $.ajax({
                url: '/my/article/info?id=' + id,
                method: 'DELETE',
                success: function (res) {
                    if (res.code != 0) {
                        return layer.msg('删除文章失败！')
                    }

                    // TODO: 如果页面文章的个数等于1，就让页码数-1

                    q.pagenum = q.pagenum = 1 ? 1 : q.pagenum - 1;
                    get_article_list();
                    layer.msg('删除文章成功！')

                }
            })
            layer.close(index);
        });


    })


    // 实现代理

    // 实现分页功能

    function renderPage(total) {
        layui.use('laypage', function () {
            var laypage = layui.laypage;

            //执行一个laypage实例
            laypage.render({
                elem: 'test1', //注意，这里的 test1 是 ID，不用加 # 号,
                count: total,
                curr: q.pagenum,
                limit: q.pagesize,
                layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
                limits: [1, 2, 3, 5, 7, 10],
                jump: function (obj, first) {
                    //obj包含了当前分页的所有参数，比如：
                    console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                    console.log(obj.limit); //得到每页显示的条数

                    //首次不执行
                    if (!first) {
                        q.pagenum = obj.curr;
                        q.pagesize = obj.limit;
                        get_article_list()
                    }
                }
            });
        });
    }



    // 获取文章分类信息
    function get_article_cate() {
        $.ajax({
            url: '/my/cate/list',
            method: 'GET',
            success: function (res) {
                if (res.code != 0) {
                    return layer.msg('获取文章分类信息失败！')
                }

                // 使用模板渲染文章类表页面
                var html_str = template('tpl-cate', res);
                $('#cate_id').html(html_str);
                // 通过 layui 重新渲染表单区域的UI结构
                form.render()
            }
        })
    }







    // 实现筛选功能  

    $('#search-form').on('submit', function (e) {
        e.preventDefault()
        var cate_id = $('#cate_id').val();
        var state = $('#state').val();
        q.cate_id = cate_id;
        q.state = state;
        get_article_list();
    })




    // 定义补零函数 ZeroDate
    function ZeroDate(value) {

        return value < 10 ? '0' + value : value
    }

    //  定义格式化时间的过滤器
    template.defaults.imports.dateFormat = function (date) {
        var n_date = new Date(date);
        var Year = n_date.getFullYear();
        var Month = ZeroDate(n_date.getMonth() + 1);
        var Day = ZeroDate(n_date.getDate());
        var hh = ZeroDate(n_date.getHours());
        var mm = ZeroDate(n_date.getMinutes());
        var ss = ZeroDate(n_date.getSeconds());
        return Year + '-' + Month + '-' + Day + ' ' + hh + ':' + mm + ':' + ss;

    }

    // 获取文章列表信息
    function get_article_list() {
        // 发送ajax请求实现文章列表信息的获取
        $.ajax({
            url: '/my/article/list',
            method: 'GET',
            data: q,
            success: function (res) {
                if (res.code != 0) {
                    return layer.msg('获取文章列表信息失败！')
                }
                // 使用模板渲染文章类表页面
                var html_str = template('tpl-list', res);
                $('.layui-table tbody').html(html_str);

                renderPage(res.total)
            }
        })
    }

})